Software failures can place a business at risk and affect the credibility of software development and information technology developers in the eyes of technology users. Therefore, extensive testing of software applications is an important part of software development. In complex software products which have many interacting capabilities, it can be extremely difficult to isolate performance problems. Running one or two tests and profiling them is unlikely to show the cause of the performance problem unless it is obvious. There is also the problem that regression test suites may grow exponentially in size when more product features are included.
Conventional risk testing methods involve identifying static values of risk factors and reassessing the risk for test cases based on the identified static values of risk factors. However, such risk assessment provides few complications in analyzing the risk and hence not suitable for assessing risk that is produced during runtime of the software. Further, all test cases are subjected to risk assessment irrespective of the profile of risk involved in the test cases, hence consuming more time and involving lengthy manual process.